Singularity escape/avoidance steering logic for control moment gyro systems

ABSTRACT

A new steering logic based on a mixed weighted two-norm and least squares optimization solution overcomes a deficiency of being trapped in the momentum saturation singularities. The new steering logic utilizes an additional weighting matrix, W, in conjunction with deterministic dither signals in a weighting matrix V. The new steering logic also provides a simple means of avoiding troublesome, internal elliptic singularities which are commonly encountered by most other pseudoinverse-based steering logic. Various CMG systems, such as a typical pyramid array of four single-gimbal CMGs, two and three parallel single-gimbal CMG configurations, and four parallel double-gimbal CMGs of the International Space Station are described as illustrative embodiments demonstrating the simplicity and effectiveness of the new steering logic.

CROSS REFERENCE TO RELATED APPLICATION

[0001] This application claims priority from provisional patent applications Serial No. 60/407,334 filed Aug. 28, 2002 and 60/493,923 filed Aug. 8, 2003 in the name of Bong Wie entitled “Singularity Escape/Avoidance Steering Logic for Control Moment Gyro System,” both of which are incorporated herein by reference.

FIELD OF THE INVENTION

[0002] This invention relates to control moment gyro (CMG) steering logic and more particularly to such logic that improves the escape from and/or avoids singularities.

BACKGROUND

[0003] Control moment gyros (CMGs), as applied to spacecraft attitude control and momentum management, have been extensively studied during the past three decades, Refs. 1-8, and more recently in Refs. 9-17. They have been successfully employed for a variety of space missions, such as the Skylab, the MIR station, and the International Space Station (ISS). However, CMGs have never been used in commercial communications and imaging satellites because their higher torque capabilities have not been needed by most commercial and imaging satellites and also because CMGs are much more expensive and mechanically complex than reaction wheels.

[0004] A CMG contains a spinning rotor with large, constant angular momentum, but whose angular momentum vector direction can be changed with respect to the spacecraft by gimballing the spinning rotor. Such a CMG is the Astrium/Teldix DMG 15-45S. The spinning rotor is mounted on a gimbal (or a set of gimbals), and torquing the gimbal results in a precessional, gyroscopic reaction torque orthogonal to both the rotor spin and gimbal axes. The CMB is a torque amplification device because small gimbal torque input produces large control torque output on the spacecraft. Because the CMGs are capable of generating large control torques and storing large angular momentum over long periods of time, they have been employed for attitude control and momentum management of large space vehicles, such as the International Space Station (ISS). Four parallel mounted double-gimbal CMGs with a total weight of about 2400 LB and with a design life of 10 years are employed on the ISS. In particular, Kennel's steering law (Ref. 4) has been implemented on the double-gimbaled CMG system of the ISS.

[0005] Most of the next-generation commercial imaging satellites may be equipped with CMGs because such satellites will require rapid rotational maneuverability for high-resolution images (Refs. 18-22). In the interest of higher resolution images, a narrower field of vision will be required. To be able to image points of interest more widely distributed than points within the narrow angle of vision of the satellite, rapid slewing movement will be needed. Rather than sweeping the imaging system from side-to-side, the whole spacecraft body will turn rapidly. Pointing the entire spacecraft allows the body-fixed imaging system with a narrow field of view to achieve a higher definition and improves the resolution for its images. The overall cost and effectiveness of such agile spacecraft is greatly affected by the average retargeting time. Thus, the development of a low-cost attitude control system employing smaller and inexpensive CMGs, called mini-CMGs, is of current practical importance for developing future agile imaging spacecraft (Refs. 19-21) as well as small agile satellites (Ref. 22).

[0006] The use of CMGs necessitates the development of CMG steering logic which generates the CMG gimbal rate commands in response to the CMG torque commands. One of the principal difficulties in using CMGs for spacecraft attitude control and momentum management is the geometric singularity problem in which no control torque is generated for the commanded control torques along a particular direction. At such a singularity, CMG torque is available in all but one direction. The problem of overcoming singularities in CMG systems has previously been addressed. Approaches to the problem have been largely, but not entirely, successful.

[0007] The CMG singularity problem, studied previously by Margulies and Aubrun (Ref. 2) and Bedrossian et al. (Refs. 5 and 6), has been further examined recently in Ref. 23, incorporated herein by reference, to characterize and visualize the physical as well as mathematical nature of the singularities, singular momentum surfaces, and other singularity related problems. The steering logic that may be considered “baseline” steering logic for CMGs is pseudoinverse steering logic, discussed below. It is not free of singularities.

[0008] A simple yet effective way of passing through, and also escaping from, any internal singularities, as applied to agile spacecraft pointing control, has been developed in Refs. 13-16, incorporated herein by reference. The CMG steering logic developed and patented by Wie, Bailey and Heiberg of Refs. 13 and 14 is mainly intended for typical reorientation maneuvers in which precision pointing or tracking is not required during reorientation maneuvers, and it fully utilizes the available CMG momentum space in the presence of any singularities. Although there are special missions in which prescribed attitude trajectories are to be “exactly” tracked in the presence of internal singularities, most practical cases will require a tradeoff between robust singularity transit/escape and the resulting, transient pointing errors.

[0009] Because the singularity-robust steering logic developed in Refs. 13 and 14 is based on the minimum two-norm, pseudoinverse solution, it does not explicitly avoid singularity encounters. Rather it approaches and rapidly transits unavoidable singularities whenever needed. It effectively generates deterministic dither signals when the system becomes near singular. Any internal singularities can be escaped for any nonzero constant torque commands using the singularity-robust steering logic.

[0010] However, the patented CMG steering logic of Refs. 13 and 14 is unable to escape the saturation singularities of certain CMG configurations, which can be problematic if CMG momentum desaturation is desired. Consequently, a new steering logic is desirable to overcome such a deficiency of the singularity-robust CMG steering logic. Furthermore, the new steering logic should provide an effective means of explicitly avoiding, instead of passing through, the internal elliptic singularities that are commonly encountered by most other pseudoinverse-based steering logic.

[0011] Control Moment Gyro Systems

[0012] There follows a summary of several representative CMG systems. Detailed descriptions of these systems can be found in Ref. 23. These CMG systems will be used in connection with a description of specific exemplary embodiments to demonstrate the simplicity and effectiveness of the new steering logic.

[0013] Pyramid Array of Four Single-Gimbal CMGs

[0014] For a typical pyramid mount of four single-gimbal CMGs with skew angle of β, shown in FIG. 1, the total CMG momentum vector is represented by $\begin{matrix} \begin{matrix} {H = {{h_{1}\left( x_{1} \right)} + {h_{2}\left( x_{2} \right)} + {h_{3}\left( x_{3} \right)} + {h_{4}\left( x_{4} \right)}}} \\ {= {\begin{bmatrix} \begin{matrix} {{- c}\quad {\beta sin}\quad x_{1}} \\ {\cos \quad x_{1}} \end{matrix} \\ {s\quad \beta \quad \sin \quad x_{1}} \end{bmatrix} + \begin{bmatrix} \begin{matrix} {{- \cos}\quad x_{2}} \\ {{- c}\quad \beta \quad \sin \quad x_{2}} \end{matrix} \\ {s\quad \beta \quad \sin \quad x_{2}} \end{bmatrix} + \begin{bmatrix} \begin{matrix} {c\quad \beta \quad \sin \quad x_{3}} \\ {{- \cos}\quad x_{3}} \end{matrix} \\ {s\quad \beta \quad \sin \quad x_{3}} \end{bmatrix} + \begin{bmatrix} \begin{matrix} {\cos \quad x_{4}} \\ {c\quad \beta \quad \sin \quad x_{4}} \end{matrix} \\ {s\quad \beta \quad \sin \quad x_{4}} \end{bmatrix}}} \end{matrix} & \lbrack 1\rbrack \end{matrix}$

[0015] where x_(i) is the ith gimbal angle, cβ≡cos β, and sβ≡sin β. Then we obtain

{dot over (H)}=A{dot over (x)}  [2]

[0016] where {dot over (x)}=(x₁, x₂, x₃, x₄) and A is the Jacobian matrix defined as $\begin{matrix} {A = \begin{bmatrix} {{- c}\quad \beta \quad \cos \quad x_{1}} & {\sin \quad x_{2}} & {c\quad \beta \quad \cos \quad x_{3}} & {{- \sin}\quad x_{4}} \\ {{- \sin}\quad x_{1}} & {{- c}\quad \beta \quad \cos \quad x_{2}} & {\sin \quad x_{3}} & {c\quad \beta \quad c\quad o\quad x\quad \chi_{4}} \\ {s\quad \beta \quad \cos \quad x_{1}} & {s\quad \beta \quad \cos \quad x_{2}} & {s\quad \beta \quad \cos \quad x_{3}} & {s\quad \beta \quad \cos \quad x_{4}} \end{bmatrix}} & \lbrack 3\rbrack \end{matrix}$

[0017] Equation (2) represents a linear mapping from {dot over (x)}=(x₁, x₂, x₃, x₄) to {dot over (H)}=(Hx, Hy, Hz).

[0018] Two different types of the internal singularity for the pyramid array of four CMGs are illustrated in FIGS. 1(a) and (b). The well known, troublesome elliptic singularity at (−90, 0, 90, 0) deg, which cannot be escaped by null motion, is illustrated in FIG. 1(a). The hyperbolic singularity at (−90, 0, 90, 180) deg, which can be escaped by null motion, is shown in FIG. 1(b). Detailed analyses and discussions of CMG singularities can be found in Refs. 5 and 23.

[0019] When β=90 deg. FIG. 1 is a 4-CMG configuration with two orthogonal pairs of scissored CMGs. The Jacobian [3] becomes: $A = \begin{bmatrix} 0 & {\sin \quad x_{2}} & 0 & {{- \sin}\quad x_{4}} \\ {{- \sin}\quad x_{1}} & 0 & {\sin \quad x_{3}} & 0 \\ {\cos \quad x} & {\cos \quad x_{2}} & {\cos \quad x_{3}} & {\cos \quad x_{4}} \end{bmatrix}$

[0020] This special configuration is also of practical importance, as studied extensively in Refs. 1 and 23. Many other CMG configurations are some variants of this basic arrangement of two orthogonal pairs of two parallel CMGs.

[0021] Two and Three Parallel Single-Gimbal CMG Configurations

[0022] Two and three single-gimbal CMGs with parallel gimbal axes have been investigated in Refs. 1, 2 and 23 for two-axis control of a spacecraft. For a system of two CMGs without redundancy, the momentum vectors, {right arrow over (H)}₁ and {right arrow over (H)}₂ move in the (x, y) plane normal to the gimbal axis as shown in FIG. 2. For such “scissored” single-gimbal CMGs, the total CMG momentum vector is simply represented as $\begin{matrix} {H = \begin{bmatrix} {{\cos \quad x_{1}} + {\cos \quad x_{2}}} \\ {{\sin \quad x_{1}} + {\sin \quad x_{2}}} \end{bmatrix}} & \lbrack 4\rbrack \end{matrix}$

[0023] where a constant unit momentum for each CMG is assumed.

[0024] Defining a new set of gimbal angles, α and β, as follows: $\begin{matrix} {{\alpha = \frac{x_{1} + x_{2}}{2}},{\beta = \frac{x_{2} - x_{1}}{2}}} & \lbrack 5\rbrack \end{matrix}$

[0025] where α is called the “rotation” angle and β the “scissor” angle (Ref 1), one obtains $\begin{matrix} {H = {2\begin{bmatrix} {\cos \quad {\alpha cos}\quad \beta} \\ {\sin \quad {\alpha cos}\quad \beta} \end{bmatrix}}} & \lbrack 6\rbrack \end{matrix}$

[0026] and

{dot over (H)}=A{dot over (x)}  [7]

[0027] where {dot over (H)}=({dot over (H)}x, {dot over (H)}y),{dot over (x)}=({dot over (α)}, β), and A is the Jacobian matrix defined as $\begin{matrix} {A = {2\begin{bmatrix} {{{- \sin}\quad \alpha \quad \cos \quad \beta},} & {{- \cos}\quad \alpha \quad \sin \quad \beta} \\ {{\cos \quad \alpha \quad \cos \quad \beta},} & {{- \sin}\quad \alpha \quad \sin \quad \beta} \end{bmatrix}}} & \lbrack 8\rbrack \end{matrix}$

[0028] For a system of three single-gimbal CMGs with parallel gimbal axes, the total CMG angular momentum vector is: $H = \begin{bmatrix} {{\cos \quad x_{1}} + {\cos \quad x_{2}} + {\cos \quad x_{3}}} \\ {{\sin \quad x_{1}} + {\sin \quad x_{2}} + {\sin \quad x_{3}}} \end{bmatrix}$

[0029] and the Jacobian matrix for x=(x₁, x₂, x₃) becomes $A = \begin{bmatrix} {{- \sin}\quad x_{1}} & {{- \sin}\quad x_{2}} & {{- \sin}\quad x_{3}} \\ {\cos \quad x_{1}} & {\cos \quad x_{2}} & {\cos \quad x_{3}} \end{bmatrix}$

[0030] The singular momentum surfaces of this systems of three parallel single-gimbal CMGs are described by two circles as shown in FIG. 4. The internal hyperbolic singularity is shown in FIG. 4(a) and the external (saturation) elliptic singularity in FIG. 4(b). Detailed singularity analysis of this system can be found in Refs. 2 and 23.

[0031] Four Parallel Double-Gimbal CMGs

[0032] For a double-gimbal control moment gyro (DGCMG), the rotor is suspended inside two gimbals and consequently the rotor momentum can be oriented on a sphere along any direction provided no restrictive gimbal stops. For the different purposes of redundancy management and failure accommodation, several different arrangements of DGCMGs have been developed, such as three orthogonally mounted DGCMGs used in the Skylab and four parallel mounted DGCMGs employed for the International Space Station.

[0033] As shown by Kennel (Ref. 4), mounting of DGCMGs of unlimited outer gimbal angle freedom with all their outer gimbal axes parallel allows drastic simplification of the CMG steering law development in the redundancy management and failure accommodation and in the mounting hardware.

[0034] Such a parallel mounting arrangement of four double-gimbal CMGs with the inner and outer gimbal angles, α_(i) and β_(i) of the ith CMG, is shown diagrammatically in FIG. 3. The total CMG momentum vector H=(H_(x), H_(y), H_(z)) is expressed in the (x, y, z) axes as $\begin{matrix} {H = \begin{bmatrix} {\sum\quad {\sin \quad \alpha_{i}}} \\ {\sum\quad {\cos \quad \alpha_{i}\cos \quad \beta_{i}}} \\ {\sum\quad {\cos \quad \alpha_{i}\sin \quad \beta_{i}}} \end{bmatrix}} & \lbrack 9\rbrack \end{matrix}$

[0035] where a constant unit momentum is assumed for each CMG. The time derivative of H becomes $\begin{matrix} {\overset{.}{H} = \begin{bmatrix} {\sum\quad {\cos \quad \alpha_{i}{\overset{.}{\alpha}}_{i}}} \\ {\sum\left( {{{- \sin}\quad \alpha_{i}\cos \quad \beta_{i}{\overset{.}{\alpha}}_{i}} - {\cos \quad \alpha_{i}\sin \quad \beta_{i}{\overset{.}{\beta}}_{i}}} \right)} \\ {\sum\left( {{{- \sin}\quad \alpha_{i}\sin \quad \beta_{i}{\overset{.}{\alpha}}_{i}} - {\cos \quad \alpha_{i}\cos \quad \beta_{i}{\overset{.}{\beta}}_{i}}} \right)} \end{bmatrix}} & \lbrack 10\rbrack \end{matrix}$

[0036] Note that the x-axis torque component is not a function of the outer gimbal β_(i), motions. Consequently, in Kennel's CMG steering law implemented on the International Space Station, the inner gimbal rate commands, {dot over (α)}_(i), are determined first for the commanded x-axis torque, then the outer gimbal rate commands, {dot over (β)}_(i), for the commanded y- and z-axis torques.

[0037] Typical singularities of a system of four parallel double-gimbal CMGs are illustrated in FIGS. 4(a)-(d). The 4H saturation singularity is an elliptic singularity which cannot be escaped by null motion. The 2H and 0H singularities, shown in FIGS. 4(b) and (c) respectively, are hyperbolic singularities which can be escaped by null motion. A nonsingular configuration but with a zero momentum is also shown in FIG. 4(d).

[0038] The various CMG systems described in this section are used below to demonstrate the simplicity and effectiveness of the new singularity escape/avoidance logic according to this invention.

[0039] Pseudoinverse Steering Logic

[0040] Ignoring the effect of spacecraft angular motion, the instantaneous torque vector, {right arrow over (τ)}, generated by CMG gimbal motion {dot over (x)}_(i) can be defined as $\begin{matrix} {\overset{\rightarrow}{\tau} = {\frac{\overset{\rightarrow}{H}}{t} = {{\sum\limits_{i = 1}^{n}\quad {\frac{{\overset{\rightarrow}{h}}_{i}}{x_{i}}{\overset{.}{x}}_{i}}} = \overset{.}{x}}}} & \lbrack 11\rbrack \end{matrix}$

[0041] or, in matrix form, as $\begin{matrix} {\tau = {\frac{H}{t} = {{\sum\limits_{i = 1}^{n}\quad {\frac{h_{i}}{x_{i}}x_{i}}} = {A\quad \overset{.}{x}}}}} & \lbrack 12\rbrack \end{matrix}$

[0042] where A is a 3×n Jacobian matrix and {dot over (x)}=({dot over (x)}₁, . . . {dot over (x)}_(n)).

[0043] For the given control torque command τ, the gimbal rate command {dot over (x)}, often referred to as the pseudoinverse steering logic, is then obtained as

{dot over (x)}=A ⁺τ  [13]

[0044] where

A ⁺ =A ^(T)(AA ^(T))⁻¹  [14]

[0045] This pseudoinverse is the minimum two-norm solution of the following constrained minimization problem: $\begin{matrix} {{\begin{matrix} \min \\ \overset{.}{x} \end{matrix}{\overset{.}{x}}^{2}\quad {subject}\quad {to}\quad A\quad \overset{.}{x}} = \tau} & \lbrack 15\rbrack \end{matrix}$

[0046] where ∥{dot over (x)}∥²={dot over (x)}^(T) {dot over (x)}. Most CMG steering laws determine the gimbal rate commands with some variant of the pseudoinverse of the form of the above expression [14].

[0047] The pseudoinverse is a special case of the weighted minimum two-norm solution

{dot over (x)}=A ⁺τ where A ⁺ =Q ⁻¹ A ^(T) [AQ ⁻¹ A ^(T)]⁻¹  [16]

[0048] of the following constrained minimization problem: $\begin{matrix} {{\begin{matrix} \min \\ \overset{.}{x} \end{matrix}{\overset{.}{x}}\begin{matrix} 2 \\ Q \end{matrix}\quad {subject}\quad {to}\quad A\quad \overset{.}{x}} = \tau} & \lbrack 17\rbrack \end{matrix}$

[0049] where ∥{dot over (x)}∥_(Q) ²={dot over (x)}^(T) Q{dot over (x)} and Q=Q^(T)>0. Below, the significance of choosing Q≠I, where I is an identify matrix, is demonstrated.

[0050] If rank (A)<m for certain sets of gimbal angles, or equivalently rank (AA^(T))<m, when A is an m×n matrix, the pseudoinverse does not exist, and it is said that the pseudoinverse steering logic encounters singular states. This singular situation occurs when all individual CMG torque output vectors are perpendicular to the commanded torque direction. Equivalently, the singular situation occurs when all individual CMG momentum vectors have extremal projections onto the commanded torque τ.

[0051] Since the pseudoinverse, A⁺=A^(T) (AA^(T))⁻¹, is the minimum two-norm solution of gimbal rates subject to the constraint A{dot over (x)}=τ, the pseudoinverse steering logic and all other pseudoinverse-based steering logic tend to leave inefficiently positioned CMGs alone causing the gimbal angles to eventually “hang-up” in anti-parallel singular arrangements. That is, they tend to steer the gimbals toward anti-parallel singular states. Despite this deficiency, the psuedoinverse steering logic, or some variant of pseudoinverse, is commonly employed for most CMG systems because of its simplicity for onboard, real-time implementation.

[0052] Nakamura, Y. and Hanafusa, H., in Ref. 24, describe a singularity robust steering logic in which:

A ^(#) =A ^(T) [AA ^(T) +λI] ⁻¹.  [18]

[0053] The singularity robust inverse steering logic, {dot over (x)}=A^(#)u, does not become singular; i.e., det └AA^(T)+λI┘≠0. This solves the large majority of singularity problems in CMG steering logic. However, {dot over (x)} becomes zero if det (AA^(T))=0 and if a control torque is commanded along the singular direction. The CMG system with the singularity robust inverse steering logic can then become trapped in the singular state.

[0054] Singularity Escape/Avoidance Steering Logic

[0055] A simple yet effective way of passing through and escaping any internal singularities was developed by Wie, Bailey and Heiberg (Refs. 13-16). Such a singularity-robust CMG steering logic was mainly intended for typical reorientation maneuvers in which precision pointing or tracking is not required during reorientation maneuvers, and it fully utilizes the available CMG momentum space in the presence of any singularities.

[0056] The singularity-robust steering logic of Refs. 13-14 has the following form:

{dot over (x)}=A^(#)τ  [19]

[0057] where $\begin{matrix} {A^{\#} = {{\left\lbrack {{A^{T}P\quad A} + {\lambda \quad I}} \right\rbrack^{- 1}A^{T}P} = {A^{T}\left\lbrack {{A\quad A^{T}} + {\lambda \quad E}} \right\rbrack}^{- 1}}} & \lbrack 20\rbrack \\ {{and}{{P^{- 1} \equiv E} = {\begin{bmatrix} 1 & ɛ_{3} & ɛ_{2} \\ ɛ_{3} & 1 & ɛ \\ ɛ_{2} & ɛ_{1} & 1^{1} \end{bmatrix} > 0.}}} & \lbrack 21\rbrack \end{matrix}$

[0058] The positive scalar λ and the off-diagonal elements ε_(i) are to be properly selected such that A τ≠0 for any nonzero constant τ.

[0059] Note that there exists always a null vector of A^(#) since rank (A^(#))<3 for any λ and ε_(i) when the Jacobian matrix A is singular. Consequently, a simple way of guaranteeing that A^(#)τ≠0 for any nonzero constant τ command is to continuously modulate ε_(i), for example, as follows:

ε_(i)=ε₀ sin(ωt+φ _(i))  [22]

[0060] where the amplitude ε₀, the modulation frequency ω, and the phases φ_(i) need to be appropriately selected. The scalar λ may be adjusted as:

λ=λ₀ exp(−μdet(AA ^(T)))  [23]

[0061] where λ₀ and μ are constants to be properly selected.

[0062] It is emphasized that the singularity-robust inverse of the form (20) is based on the mixed, two-norm and weighted least-squares minimization although the resulting effect is somewhat similar to that of artificially misaligning the commanded control torque vector from the singular vector directions. Because the singularity robust steering logic is based on the minimum two-norm, pseudoinverse solution, it does not explicitly avoid singularity encounters but it rather approaches and rapidly transits unavoidable singularities whenever needed. The steering logic effectively generates deterministic dither signals when the system becomes near singular. Any internal singularities can be escaped for any nonzero constant torque commands using the singularity robust steering logic.

[0063] However, a certain type of external saturation singularity cannot be escaped for any choice of λ and ε_(i), as shown below and therefore a need exists for further improvement in CMG steering logic to escape and/or avoid all singularities, internal and external.

SUMMARY OF THE INVENTION

[0064] With this invention, there is provided CMG steering logic with improved singularity robustness. Particularly, improved CMG steering logic that eliminates or avoids singularities such as occur in even the most robust prior CMG control is provided.

[0065] The CMG steering logic of this invention is based on the well-known mixed weighted two-norm and least-squares optimization solution with weighting matrices W and V. The proper use of W, in conjunction with the deterministic dither signals in V, eliminates a deficiency of the patented steering logic of Refs. 13 and 14. Either W (i.e. the weighted pseudoinverse solution) or V alone do not completely eliminate the deficiency; i.e. both W and V are required for completely resolving the singularity escape/avoidance problem.

[0066] Some internal elliptic singularities can be explicitly avoided or skirted by a proper selection of the weighting matrix W. However, the steering logic of the invention rather tends to approach and rapidly transit unavoidable singularities whenever necessary.

[0067] A trial-and-error, intuitive approach is used for choosing proper W's in several embodiments of the invention. The steering logic of the invention is simple to implement compared to many other explicit singularity-avoidance algorithms employing, for example, gradient methods, global search, optimization and/or null motion.

[0068] The transient torque errors inherent to the steering logic of the invention during singularity escapes or transits will be acceptable in most practical situations in which precision pointing or tracking is not required during CMG momentum desaturation, CMG reconfiguration or spacecraft reorientation maneuvers.

[0069] It will be seen that a new steering logic utilizing a mixed weighted two-norm and least squares optimization solution has been developed to overcome a deficiency of the previously patented steering logic. It can also be employed to explicitly avoid singularity encounters for which most other pseudoinverse-based steering logic either fail or must transit through. The practicality, effectiveness and simplicity of the new singularity escape/avoidance logic, even in the presence of gimbal-rate limit, are demonstrated for various CMG systems.

[0070] The above and further objects and advantages of the invention will be better understood from the following detailed description of preferred embodiments taken in consideration with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0071]FIG. 1 is a diagrammatic illustration of a CMG platform having a “pyramid” mounting arrangement of four single-gimbal CMGs;

[0072] FIGS. 1(a) and (b) are vector diagrams of a 2H internal elliptical singularity (a) and 9H internal hyperbolic singularity (b) with the CMG arrangement of FIG. 1;

[0073]FIG. 2 is a diagrammatic illustration of the characteristics of two single gimbal CMGs with parallel gimbal axes;

[0074]FIG. 2(a) is a diagrammatic illustration of a 0H anti-parallel singularity of the CMG arrangement of FIG. 2;

[0075]FIG. 2(b) is a diagrammatic illustration of a 2H parallel singularity of a CMG arrangement of FIG. 2;

[0076]FIG. 3 is a diagrammatic illustration of the characteristics of four parallel-mounted double-gimbal CMGs;

[0077] FIGS. 4(a)-(d) are diagrammatic representations of a four parallel-gimbal CMG attitude control in three singularity causing relationships (a)-(c) and in one relationship (d) not a singularity;

[0078]FIG. 5 is a series of plots vs. time of characteristics of a momentum desaturation singularity escape simulation for a two parallel single-gimbal CMG attitude control using the steering logic of the present invention;

[0079]FIG. 6 is a series of plots vs. time of characteristics of a momentum desaturation singularity escape simulation for a three parallel single-gimbal CMG attitude control using the steering logic of the present invention with W=diag{1,2,3};

[0080]FIG. 7 is a series of plots vs. time of characteristics of a momentum desaturation singularity escape simulation for a four single-gimbal CMG (β=π/2) attitude control using the steering logic of the present invention with W=diag{1,2,3,4};

[0081]FIG. 8 is a series of plots vs. time of characteristics of a singularity transit simulation for a four single-gimbal CMG (β=53.13 deg.) attitude control using the steering logic of the present invention with W=diag{1,1,1,1};

[0082]FIG. 9 is a series of plots vs. time of characteristics of a singularity avoidance simulation for a four parallel single-gimbal CMG (β=53.13 deg.) attitude control using the steering logic of the present invention with W=diag{10⁻⁴,1,1,1};

[0083]FIG. 10 is a series of plots vs. time of gimbal rate for singularity avoidance simulation with a gimbal rate limit of ±2 rad/sec.;

[0084]FIG. 11 is a series of plots vs. time of characteristics of a 4H saturation singularity escape passing through the 0H singularity of a four parallel double-gimbal CMG attitude control using the steering logic of the invention with W=diag{1,1,2,2,1,1,2,2};

[0085]FIG. 12 is a series of plots vs. time of characteristics of a momentum desaturation singularity escape simulation for a four parallel double-gimbal CMG attitude control escaping the saturation singularity and also avoiding 0H singularity using the steering logic of the present invention with W=diag{1,2,3,4,1,2,3,4};

[0086]FIG. 13 is a diagrammatic illustration of a three single-gimbal CMG array with parallel axes and FIGS. 13(a) and (b) represent 1H anti-parallel and 3H parallel singularities, respectively; and

[0087]FIG. 14 is a functional block diagram showing a control embodying the present invention to rotate a satellite in response to commanded rotation signal q_(c).

DETAILED DESCRIPTION

[0088] In accordance with this invention, a new steering logic which is capable of escaping all types of singularities, is of substantially the form

{dot over (x)}=A^(#)τ  [24]

[0089] where $\begin{matrix} \begin{matrix} {A^{\#} = {\left\lbrack {{A^{T}P\quad A} + Q} \right\rbrack^{- 1}A^{T}P}} \\ {\equiv {Q^{- 1}{A^{T}\left\lbrack {{A\quad Q^{- 1}A^{T}} + P^{- 1}} \right\rbrack}^{- 1}}} \\ {\equiv {W\quad {A^{T}\left\lbrack {{A\quad W\quad A^{T}} + V} \right\rbrack}^{- 1}}} \end{matrix} & \lbrack 25\rbrack \end{matrix}$

[0090] where W≡Q⁻¹ and V≡P⁻¹. For a 3×n Jacobian matrix A, └A^(T)PA+Q┘ is an n×n matrix and └AWA^(T)+V┘ is a 3×3 matrix.

[0091] The singularity-robust inverse of the form [25] is the solution of the well-known, mixed two-norm and least-squares minimization problem: $\begin{matrix} {\begin{matrix} \min \\ \overset{.}{x} \end{matrix}\left( {{^{T}P\quad e} + {{\overset{.}{x}}^{T}Q\quad \overset{.}{x}}} \right)} & \lbrack 26\rbrack \end{matrix}$

[0092] where e=A{dot over (x)}−τ is the torque error vector. Because P and Q are positive definite matrices, └A^(T)PA=Q┘ and └AWA^(T)+V┘ are always nonsingular.

[0093] The weighting matrices, P and Q (equivalently, W and V), must be properly chosen: (i) to obtain acceptable levels of torque errors and gimbal rates, (ii) to escape any internal as well as external singularities, and (iii) to pass through singularities or avoid singularity encounters.

[0094] For example, P is chosen such that A^(T)Pτ≠0 for any torque command τ, as follows: $\begin{matrix} {{P^{- 1} \equiv V} = {{\lambda \begin{bmatrix} 1 & ɛ_{3} & ɛ_{2} \\ ɛ_{3} & 1 & ɛ_{1} \\ ɛ_{2} & ɛ_{1} & 1 \end{bmatrix}} > 0}} & \lbrack 27\rbrack \end{matrix}$

[0095] and

λ=λ₀ exp(−μdet(AA ^(T)))  [28]

ε_(i=ε) ₀ sin(ωt+φ _(i))  [29]

[0096] where the constant parameters, λ₀, μ, ε₀, ω, and φ_(i), need to be appropriately selected.

[0097] Because the condition A^(T)Pτ≠0, which is a necessary condition, is not sufficient for escaping and/or avoiding singularities, the matrix Q also needs to be properly chosen, as follows: $\begin{matrix} {{Q^{- 1} \equiv W} = {\begin{bmatrix} W_{1} & \lambda & \lambda & \lambda \\ \lambda & W_{2} & \lambda & \lambda \\ \lambda & \lambda & W_{3} & \lambda \\ \lambda & \lambda & \lambda & W_{4} \end{bmatrix} > 0.}} & \lbrack 30\rbrack \end{matrix}$

[0098] Different values of W_(i) and/or nonzero off-diagonal elements are needed to be able to escape all types of singularities, including the external saturation singularities when CMG momentum desaturation is requested. Furthermore, a proper choice of W≠I provides an effective means for “explicitly” avoiding singularity encounters (to be demonstrated in the next section).

[0099] Several examples of demonstrating the significance of W≠I for escaping a certain type of external saturation singularities for which the previous singularity-robust steering logic of Wie, Bailey and Heiberg (Refs. 13 and 14) fails are presented in the discussion entitled “Exemplary Embodiments,” below. Examples of avoiding an internal elliptic singularity for which the previous singularity-robust steering logic had to pass through are also presented.

Exemplary Embodiments

[0100] In the following exemplary embodiments, the simplicity and effectiveness of the new steering logic will be demonstrated using various CMG systems, such as two and three parallel single-gimbal CMG configurations, a pyramid array of four single-gimbal CMGs and four parallel double-gimbal CMGs of the International Space Station.

[0101] Two Parallel Single-Gimbal CMGs

[0102] For a system of two parallel single-gimbal CMGs illustrated in FIG. 2 we have the CMG momentum vector H as $\begin{matrix} {H = {2\begin{bmatrix} {\cos \quad \alpha \quad \cos \quad \beta} \\ {\sin \quad \alpha \quad \cos \quad \beta} \end{bmatrix}}} & \lbrack 31\rbrack \end{matrix}$

[0103] and the Jacobian matrix A as $\begin{matrix} {A = {2\begin{bmatrix} {{- \sin}\quad \alpha \quad \cos \quad \beta} & {{- \cos}\quad \alpha \quad \sin \quad \beta} \\ {\cos \quad \alpha \quad \cos \quad \beta} & {{- \sin}\quad \alpha \quad \sin \quad \beta} \end{bmatrix}}} & \lbrack 32\rbrack \end{matrix}$

[0104] where α is called the “rotation” angle and β the “scissor” angle.

[0105] For the internal anti-parallel singularity at x=(α,β)=(0,π/2), shown in FIG. 3(a), the Jacobian matrix becomes $A = \begin{bmatrix} 0 & {- 2} \\ 0 & 0 \end{bmatrix}$

[0106] with its singular vector u=(0,1); i.e., A^(T)u-0. A null space vector of A such that A{dot over (x)}=0 is: {dot over (x)}=null(A)=(1,0).

[0107] Although null motion does exist from this singularity, this hyperbolic singularity cannot be escaped by null motion because the singular configuration ((β=π/2) remains undisturbed during this null motion along the null manifold (or a degenerate trajectory). Although null motion can be generated at this hyperbolic singularity, this example demonstrates that the mere existence of null motion does not guarantee escape from a singularity (Refs. 5 and 23). However, this type of internal singularity can be easily escaped by the singularity-robust steering logic of Refs. 13 and 14.

[0108] For the saturation singularity at x=(α,β)=(0,0), shown in FIG. 3(b), the Jacobian matrix becomes $A = \begin{bmatrix} 0 & 0 \\ 2 & 0 \end{bmatrix}$

[0109] with its singular vector u=(−1,0) and its null space vector {dot over (x)}=null(A)=(0,1). This external elliptic singularity cannot be escaped by null motion because null motion does not exist in the vicinity of this momentum saturation singularity, as discussed in Refs. 5 and 23.

[0110] The singularity-robust inverse of Refs. 13 and 14 with λ=0.1 and ε=0.1 becomes $\begin{matrix} {A^{\#} = {{A^{T}\left\lbrack {{AA}^{T} + {0.1E}} \right\rbrack}^{- 1} = \begin{bmatrix} {- 0.0488} & 0.4879 \\ 0 & 0 \end{bmatrix}}} \\ {\left. \Rightarrow\overset{.}{x} \right. = {{A^{\#}\begin{bmatrix} {- 1} \\ 0 \end{bmatrix}} = \begin{bmatrix} 0.0488 \\ 0 \end{bmatrix}}} \end{matrix}$

[0111] Note that {dot over (x)}=({dot over (α)},{dot over (β)})≠0, but {dot over (β)}=0; i.e., the system remains singular while α changes. In fact, {dot over (β)}=0 for any torque command vector τ and any ε_(i). Consequently, the singularity-robust steering logic of Refs. 13 and 14 is unable to command a non-zero {dot over (β)} for this special case. However, this external singularity can be escaped by the new singularity escape/avoidance steering logic, proposed in this paper, of the form: {dot over (x)}=A^(#)τ where

A ^(#) =WA ^(T) [AWA ^(T) +V] ⁻¹.  [33]

[0112] As can be seen in FIG. 5, the momentum saturation singularity is escaped using the new steering logic with $\begin{matrix} {{V = {\lambda \begin{bmatrix} 1 & ɛ \\ ɛ & 1 \end{bmatrix}}},{W = \begin{bmatrix} 1 & \lambda \\ \lambda & 1 \end{bmatrix}}} & \lbrack 34\rbrack \end{matrix}$

[0113] where

ε=0.1 cos t

λ=0.01 exp(−10det(AA ^(T))).

[0114] In FIG. 5, (u_(x), u_(y)) represent the actual torques generated by the CMG system for the commanded torques of (τ_(x), τ_(y))=(−1,0) for 0≦t≦3 sec. The CMG momentum is completely desaturated at t=2 sec, but the desaturation torque is commanded until t=3 sec to further explore any problem of encountering an internal singularity. (For all of the simulation results presented in this paper, the commanded torque level as well as the CMG momentum is normalized as one without loss of generality. Thus it should be appropriately adjusted depending on the actual values of gimbal rate limit and CMG momentum magnitude.) As can be seen in FIG. 5, the new steering logic also provides a simple yet effective way of passing through the 0H internal hyperbolic singularity, but with a small transient torque error in u_(y).

[0115] As discussed in Ref. 1, a steering logic based on the direct inverse of A can be obtained for this simple 2×2 problem, as follows:

{dot over (x)}=A ⁻¹τ  [35]

[0116] where $\begin{matrix} \begin{matrix} {{A - 1} = {\frac{1}{2{A}}\begin{bmatrix} {{- \sin}\quad \alpha \quad \cos \quad \beta} & {{- \cos}\quad \alpha \quad \sin \quad \beta} \\ {\cos \quad \alpha \quad \cos \quad \beta} & {{- \sin}\quad \alpha \quad \sin \quad \beta} \end{bmatrix}}} \\ {= {{\frac{1}{2}\begin{bmatrix} {{- \sin}\quad {\alpha/\quad \cos}\quad \beta} & {\cos \quad {\alpha \quad/\cos}\quad \beta} \\ {{- \cos}\quad {\alpha \quad/\sin}\quad \beta} & {{- \sin}\quad {\alpha \quad/\sin}\quad \beta} \end{bmatrix}}.}} \end{matrix} & \lbrack 36\rbrack \end{matrix}$

[0117] Then we obtain $\begin{matrix} {\overset{.}{\alpha} = \frac{{{- \sin}\quad {\alpha\tau}_{x}} + {\cos \quad {\alpha\tau}_{y}}}{{2\cos \quad \beta} + \lambda_{1}}} & \lbrack 37\rbrack \\ {\overset{.}{\beta} = \frac{{{- \cos}\quad {\alpha\tau}_{x}} - {\sin \quad {\alpha\tau}_{y}}}{2\left( {{\sin \quad \beta} + \lambda_{2}} \right)}} & \lbrack 38\rbrack \end{matrix}$

[0118] where

λ₁=λ₀ exp(−μdet(AAT))sin β  [39a]

λ₂=λ₀ exp(−μdet(AAT))cos β  [39b]

[0119] which are included in the steering law to avoid dividing by zero when the system becomes singular.

[0120] Three Parallel Single-Gimbal CMGs

[0121] For a system of three single-gimbal CMGs with parallel gimbal axes, W should be selected as W₁≠W₂≠W₃ to escape the 3H saturation singularity at (x₁, x₂, x₃)=(0,0,0) with (τ_(x), τ_(y))=(−1,0). Simulation results of (τ_(x), τ_(y))=((−1,0) for 0≦t≦3 sec with W=diag{1,2,3} are shown in FIG. 6. Detailed singularity analyses of such a system of three parallel single-gimbal CMGs can be found in Ref. 23.

[0122] Pyramid Array of Four Single-Gimbal CMGs

[0123] First consider a special case (β=π/2) of the pyramid array of four single-gimbal CMGs. Such two orthogonal pairs of two parallel single-gimbal CMGs is of practical importance due to its simple arrangement of four single-gimbal CMGs for three-axis control applications (Refs. 1 and 23).

[0124] Similar to the case of three parallel single-gimbal CMGs, W≠I is also needed to escape the saturation singularity, as shown in FIG. 8. For this simulation, W=diag{1,2,3,4} was used to escape the saturation singularity at (π/2,π/2,π/2,π/2) with (τ_(x), τ_(y), τ_(z))=(0,0,−1) for 0≦t≦4 sec. It can be seen in FIG. 7 that an internal singularity is encountered at t=2 sec, but it is rapidly passed through.

[0125] In FIG. 8, simulation results are shown for a typical pyramid array of four single-gimbal CMGs (γ=53.13 deg) with initial gimbal angles of (0,0,0,0) and a torque command of (τ_(x), τ_(y), τ_(z))=(1,0,0). For this simulation, W=diag{1,1,1,1} was used, i.e. the singularity robust steering logic of Refs. 13 and 14 was used for this simulation. It can be seen that the well-known internal elliptic singularity at (−π/2,0,π/2,0) is encountered but it is successfully passed through. The inevitable transient torque errors during the singularity transit can be seen in FIG. 8.

[0126] In FIG. 9, simulation results with W=diag{10⁻⁴,1,1,1} are shown for the previous case of a typical pyramid array of four single-gimbal CMGs (β=53.13 deg) with initial gimbal angles of (0,0,0,0) and a torque command of (τ_(x), τ_(y), τ_(z))=(1,0,0). It can be seen that the well known internal elliptic singularity at (−π/2,0,π/2,0) is not encountered. However, the inevitable transient torque errors caused by skirting such a troublesome, impassable elliptic singularity can also be seen in FIG. 9.

[0127] For the simulations shown in FIGS. 8 and 9, the maximum gimbal rate of each CMG was explicitly imposed as ±2 rad/sec. Such a gimbal rate saturation limit did not affect the singularity-avoidance performance of the proposed steering logic. The gimbal-rate time histories associated with the simulation shown in FIG. 9 are provided in FIG. 10.

[0128] Four Parallel Double-Gimbal CMGs

[0129] The new steering logic can also be employed for a system of four parallel double-gimbal CMGs described by A{dot over (x)}=τ where x=(α₁,α₂,α₃,α₄,β₁,β₂,β₃,β₄), τ=(τ_(x), τ_(t), τ_(z)) and A is a 3×8 Jacobian matrix which can be easily constructed from equation [10].

[0130] The saturation singularity escape capability of the new steering logic is demonstrated in FIG. 11 The simulation conditions for this case are:

[0131] Initial gimbal angles: α_(i)=β_(i)=0 for all i

[0132] Commanded torque: (τ_(x), τ_(y), τ_(z))=(0,1,0)

[0133] W diag{1,1,2,2,1,1,2,2,}

[0134] λ=0.01 exp(−det(AA^(T)))

[0135] ε=0.1 cost

[0136] In FIG. 11 we have α₁=α₂≠α₃=α₄ and β₁=β₂≠β₃=β₄. For this case with W diag{1,1,2,2,1,1,2,2} it escapes the saturation singularity but it passes through the 0H singularity, as can be seen in FIG. 11. However, for W=I, this system remains singular at its singular momentum envelope, i.e. the patented steering logic of Refs. 13 and 14 is unable to escape the saturation singularity of this system of four double-gimbal CMGs even when CMG momentum desaturation is requested.

[0137] Furthermore, when we choose W=diag{1,2,3,4,1,2,3,4}, it can be seen in FIG. 12 that it escapes the saturation singularity and that the 0H singularity is completely avoided with no transient torque errors. The CMG momentum is completely desaturated at t=4 sec to further explore any problem of encountering an internal singularity:

[0138] This example of a system of four double-gimbal CMGs demonstrates that it is feasible to completely avoid singularity encounters (with no transient torque errors) with a proper selection of W in conjunction with the deterministic dither signals generated in V.

[0139] For the parallel mounting arrangement of four double-gimbal CMGs, the x-axis torque component is not a function of the outer gimbal β_(i) motions as can be seen in equation [10]. Consequently the inner gimbal rate commands can be determined first for the commanded torque rx, then the outer gimbal rate commands for (τ_(y), τ_(z)). In particular Kennel's CMG steering law distributes the CMG angular momentum vectors such that all inner gimbal angles are equal, which reduces the rate requirements on the outer gimbals as follows: $\begin{matrix} {\alpha_{i} = {\frac{\tau_{x}}{\sum\limits^{\quad}\quad {\cos \quad \alpha_{i}}} + {k\left( {\alpha^{*} - \alpha_{i}} \right)}}} & \lbrack 40\rbrack \end{matrix}$

[0140] where k is called the inner gimbal angle distribution gain and α* is the desired inner gimbal angle for all CMGs chosen as $\begin{matrix} {\alpha^{*} = {\frac{{\Sigma \left( {\cos \quad \alpha_{i}} \right)}\alpha_{i}}{{\Sigma cos}\quad \alpha_{i}}.}} & \lbrack 41\rbrack \end{matrix}$

[0141] The new steering logic can then be incorporated with Kennel's steering law to generate the outer gimbal rate commands {dot over (β)}_(i) using a reduced 2×4 Jacobian matrix without requiring Kennel's virtual CMG for avoiding 2H-singularity encounters.

[0142] Simulation results also show that the new steering logic rapidly transits through the 2H singularity shown in FIG. 4(b).

[0143] In FIG. 14, an exemplary embodiment, like that of the incorporated-by-reference patent of Ref. 14, applied to satellite attitude control, the desired satellite attitude q_(c) at input 10 is presented as Euler angles, quaternions, Gibbs parameters, or some other convenient way of describing the attitude of a satellite. At 14 it is compared with actual attitude q_(a) at input 12 generated by the Inertial Measurement Unit (IMU) 56 or some other method for determining satellite attitude. The attitude error 16 is used by the attitude control 18 to generate a desired body acceleration {dot over (ω)}_(c) at output 20. The torque command, {dot over (h)}_(c) at output 24 is calculated at 22 from the spacecraft inertial matrix, J_(s), {dot over (h)}_(c)=J_(s) {dot over (ω)}_(c). The modified pseudo inverse 36 is used to calculate the close loop gimbal rates δ_(c) at 42, according to the following:

{dot over (δ)}_(c) =A ^(T) [PAA ^(T) Q] ^(−1AT) P,  [42]

[0144] Q and P being as defined above.

[0145] The time varying off diagonal terms in P provide the escape of a control trajectory even when it is started a Moore-Penrose elliptical singularity. The CMG array 48 responds to the gimbal rate command 42. The new gimbal angles δ at 46 are used to generate at 44 the Jacobean $\begin{matrix} {A = \frac{2h}{2\delta}} & \lbrack 43\rbrack \end{matrix}$

[0146] used in the pseudo inverse. The CMG array 48 movement produces torque {dot over (h)} 50 on the satellite 52. The satellite motion ω 54 is detected by the attitude sensors 56.

[0147] It will be appreciated that FIG. 14 shows function blocks that may be implemented through hardware or software, preferably the latter in a computer based satellite control containing one or more signal processors programmed to produce output signals to control CMGs on the satellite as explained. Fundamentally the process is shown for a single signal path between two points, but it should be understood that single lines represent vector data which is 3 dimensional for the satellite attitude, attitude rate and torque, and a dimensional for the signals related to the n CMGs.

[0148] As used herein the terms “controller,” “control” and “control system” shall mean the calculating, signal producing and processing, and force, thrust or torque producing arrangements that control spacecraft, robot or other object attitude in cooperation with a CMG array. Such controllers are known in the art and may include a dedicated control system computer or other data processing facility that calculates the control signals produced, the mechanical force, thrust or torque to be imparted using the steering logic programmed therein.

[0149] Although preferred embodiments of the invention have been described in detail, it will be readily appreciated by those skilled in the art that further modifications, alterations and additions to the invention embodiments disclosed may be made without departure from the spirit and scope of the invention as set forth in the appended claims.

REFERENCES

[0150] (1) Crenshaw, J., “2-SPEED, A Single-Gimbal Control Moment Gyro Attitude Control System” Paper No. 73-895, presented at AIAA Guidance and Control Conference, Key Biscayne, Fla., Aug. 20-22, 1973.

[0151] (2) Margulies, G. and Aubrun, J. N., “Geometric Theory of Single-Gimbal Control Moment Gyro Systems,” Journal of the Astronautical Sciences, Vol. 26, No. 2, 1978, pp. 159-191.

[0152] (3) Cornick, D. E., “Singularity Avoidance Control Laws for Single Gimbal Control Moment Gyros,” Paper No. 79-1698, Proceedings of the AIAA Guidance and Control Conference, Boulder, Colo., August 1979, pp. 20-33.

[0153] (4) Kennel, H. F., “Steering Law for Parallel Mounted Double-Gimballed Control Moment Gyros: Revision A,” NASA TM-82390, January 1981.

[0154] (5) Bedrossian, N. S., Paradiso, J., Bergmann, E. V., and Rowell, D., “Redundant Single-Gimbal Control Moment Gyroscope Singularity Analysis,” Journal of Guidance, Control and Dynamics, Vol. 13, No. 6, 1990, pp. 1096-1101.

[0155] (6) Bedrossian, N. S., Paradiso, J., Bergmann, E. V., and Rowell, D., “Steering Law Design for Redundant Single-Gimbal Control Moment Gyroscopes,” Journal of Guidance, Control, and Dynamics, Vol. 13, No. 6, 1990, pp. 1083-1089 (also, N. S. Bedrossian's M. S. thesis at MIT, August 1987).

[0156] (7) Vadali, S. R., Oh, H., and Walker, S., “Preferred Gimbal Angles for Single Gimbal Control Moment Gyroscopes,” Journal of Guidance, Control, and Dynamics, Vol. 13, No. 6, 1990, pp. 1090-1095.

[0157] (8) Paradiso, J. A., “Global Steering of Single Gimballed Control Moment Gyroscopes Using a Direct Search,” Journal of Guidance, Control, and Dynamics, Vol. 15, No. 5, 1992, pp. 1236-1244.

[0158] (9) Schaub, H. and Junkins, J. L., “Singularity Avoidance Using Null Motion and Variable-Speed Control Moment Gyros,” Journal of Guidance, Control, and Dynamics, Vol. 23, No. 1, 2000, pp. 11-16.

[0159] (10) Ford, K. A. and Hall, C. D., “Singular Direction Avoidance Steering for Control Moment Gyros,” Journal of Guidance, Control, and Dynamics, Vol. 23, No. 4, 2000, pp. 648-656.

[0160] (11) Heiberg, C. J., Bailey, D., and Wie, B., “Precision Spacecraft Pointing Using Single-Gimbal Control Moment Gyros with Disturbance,” Journal of Guidance, Control, and Dynamics, Vol. 23, No. 1, 2000, pp. 77-85.

[0161] (12) Wie, B., Space Vehicle Dynamics and Control, AIAA Education Series, AIAA, Washington, D.C., 1998, Chapter 7.

[0162] (13) Wie, B., Heiberg, C., and Bailey, D., “Singularity Robust Steering Logic for Redundant Single-Gimbal Control Moment Gyros,” Journal of Guidance, Control, and Dynamics, Vol. 24, No. 5, 2001, pp. 865-872.

[0163] (14) Wie, B., Bailey, D., and Heiberg, C., “Robust Singularity Avoidance in Satellite Attitude Control,” U.S. Pat. No. 6,039,290, Issued Mar. 21, 2000.

[0164] (15) Bailey, D., Heiberg, C. and Wie, B., “Continuous Attitude Control That Avoids CMG Array Singularities,” U.S. Pat. No. 6,131,056, Issued Oct. 10, 2000.

[0165] (16) Wie, B., Heiberg, C., and Bailey, D., “Rapid Multi-Target Acquisition and Pointing Control of Agile Spacecraft,” Journal of Guidance, Control, and Dynamics, Vol. 25, No. 1, 2002, pp. 96-104.

[0166] (17) Dominguez, J. and Wie, B., “Computation and Visualization of Control Moment Gyroscope Singularities,” Paper No. 2002-4570, AIAA Guidance, Navigation, and Control Conference, Monterey, Calif., Aug. 5-8, 2002.

[0167] (18) Roser, X., Sghedoni, M., “Control Moment Gyroscopes (CMGs) and their Application in Future Scientific Missions,” Proceedings of 3^(rd) ESA International Conference on Spacecraft Guidance, Navigation, and Control Systems, ESTEC, Noordwijk, The Netherlands, Nov. 26-29, 1996, pp. 523-528.

[0168] (19) Busseuil, J., Llibre, M., and Roser, X., “High Precision Mini-CMG's and their Spacecraft Applications,” presented at AAS Guidance and Control-Advances in the Astronautical Sciences, Breckenridge, Colo., February 1998.

[0169] (20) Salenc, C. and Roger, X., “AOCS for Agile Scientific Spacecraft with mini-CMGs,” Proceedings of 4^(th) ESA International Conference on Spacecraft Guidance, Navigation, and Control Systems, ESTEC, Noordwijk, The Netherlands, Oct. 18-21, 1999, pp. 379-384.

[0170] (21) Defendini, A, Lagadec, K., Guay, P., and Griseri, G., “Low Cost CMG-based AOCS Designs,” Proceedings of 4^(th) ESA International Conference on Spacecraft Guidance, Navigation, and Control Systems, ESTEC, Noordwijk, The Netherlands, Oct. 18-21, 1999, pp. 393-398.

[0171] (22) Lappas, V. J., Steyn, W. J., and Underwood, C. I., “Attitude Control for Small Satellites Using Control Moment Gyros,” presented at 52^(nd) International Astronautical Federation Congress, Toulouse, France, Oct. 1-5, 2001.

[0172] (23) Wie, B., “Singularity Analysis and Visualization of Single-Gimbal Control Moment Gyro Systems,” AIAA Paper No. 2003-5658, AIAA Guidance, Navigation, and Control Conference, Austin, Tex., Aug. 11-14, 2003.

[0173] (24) Nakamura, Y. and Hanafusa, H., “Inverse Kinematic Solutions with Singularity Robustness for Robot Manipulator Control,” Journal of Dynamic Systems, Measurement, and Control, Vol. 108, Sept. 1986, pp. 163-171.

[0174] Each of the foregoing references (1-24) is incorporated herein by reference. 

I claim:
 1. In a control moment gyro (CMG) attitude control of the kind comprising an angular rate signal generator for each gyro in a CMG array using pseudoinverse control law that uses a torque command signal and a Jacobian value for the angle of the gyro; the improvement comprising a controller having: (a) programming to calculate the Jacobian A^(#) from weighting matrices W and V, (b) programming enabling selection of terms of the matrix W, and (c) programming to compute a gimbal rate command {dot over (x)} from a control torque command τ and the Jacobian developed from the matrices W and V.
 2. The attitude control according to claim 1, wherein V is substantially of the form: ${V = {{\lambda \begin{bmatrix} 1 & ɛ_{3} & ɛ_{2} \\ ɛ_{3} & 1 & ɛ_{1} \\ ɛ_{2} & ɛ_{1} & 1 \end{bmatrix}} > 0}},$

wherein λ=λ₀ sin(ωt+φ _(i)), and λ₀, μ, ε₀, ω and φ_(i) are selected constant parameters.
 3. The attitude control according to claim 1, wherein V is substantially of the form: $V = {{\lambda \begin{bmatrix} 1 & ɛ_{3} & ɛ_{2} \\ ɛ_{3} & 1 & ɛ_{1} \\ ɛ_{2} & {ɛ\quad 1} & 1 \end{bmatrix}} > 0}$

and wherein λ=λ₀ exp(−μdet(AA ^(T))), and ε_(i)=ε₀ sin(ωt+φ _(i)), where λ₀, μ, ε₀, ω, and φ_(i), are selected parameters.
 4. The attitude control according to any one of claims 1, 2 and 3, wherein W is substantially of the form: ${W = {\begin{bmatrix} \omega_{1} & \lambda & \lambda & \lambda \\ \lambda & \omega_{2} & \lambda & \lambda \\ \lambda & \lambda & \omega_{3} & \lambda \\ \lambda & \lambda & \lambda & \omega_{4} \end{bmatrix} > 0}},$

and different values of ω_(i) and/or nonzero off-diagonal elements are chosen to escape all types of singularities, including external saturation singularities.
 5. The attitude control according to claim 1, wherein W≠I, I being an identity matrix.
 6. The attitude control according to claim 1, wherein the CMG array comprises two parallel single-gimbal CMGs and wherein substantially: ${V = {\lambda \begin{bmatrix} 1 & ɛ \\ ɛ & 1 \end{bmatrix}}},{and}$ ${W = \begin{bmatrix} 1 & \lambda \\ \lambda & 1 \end{bmatrix}},{where}$

ε=0.1 cost, and λ=0.01 exp (−10 det(AA ^(T))).
 7. The attitude control according to claim 1, wherein the CMG array comprises three single-gimbal GMBs with parallel axes and W is selected as W₁≠W₂≠W₃.
 8. The attitude control according to claim 1, wherein the CMG array comprises four single gimbal CMGs in a pyramid array and: W≠I, an identity matrice.
 9. The attitude control according to claim 8, wherein, substantially: W=diag{1,2,3,4}.
 10. The attitude control according to claim 8, wherein, substantially: W=diag{1,1,1,1}.
 11. The attitude control according to claim 8, wherein, substantially: W=diag{10⁴,1,1,1}.
 12. The attitude control according to claim 1, wherein the CMG array comprises four double-gimbal CMGs and wherein substantially: x=(α₁,α₂,α₃,α₄,β₁,β₂,β₃,β₄), τ=(τ_(x), τ_(y), τ_(z)), and substantially W=diag{1,1,2,2,1,1,2,2}.
 13. The attitude control according to claim 1, wherein the CMG array comprises four double-gimbal CMGs and wherein substantially: x=(α₁,α₂,α₃,α₄,β₁,β₂,β₃,β₄) τ=(τ_(x),τ_(y),τ_(z)), and substantially W=diag{1,2,3,4,1,2,3,4}.
 14. In an attitude control system of the kind that includes an array of a plurality of CMGs, means for generating an angular rate signal for each of the CMGs using pseudoinverse control law that uses a torque command signal and a Jacobian value for the angle of each gyro, the improvement comprising: (a) a singularity escaping and avoiding attitude controller developing commands based upon a control logic and having; (i) means for calculating {dot over (x)}=A^(#)τ, where {dot over (x)}=(x₁, . . . x_(n)), the Jacobian A^(#)= [A^(T)PA+Q]⁻¹A^(T)P ≡WA^(T)[AWA^(T)+V]⁻¹ where W≡Q⁻¹ and V≡P⁻¹, ${{P^{- i} \equiv V} = {{\lambda \begin{bmatrix} 1 & ɛ_{e} & ɛ_{2} \\ ɛ_{3} & 1 & ɛ_{1} \\ ɛ_{2} & ɛ_{1} & 1 \end{bmatrix}} > 0}},$

λ=λ₀ exp(−μdet(AA ^(T))), ε_(i)=ε₀ sin(ωt+φ _(i)), and ${Q^{- 1} \equiv W} = {\begin{bmatrix} \omega_{1} & \lambda & \lambda & \lambda \\ \lambda & \omega_{2} & \lambda & \lambda \\ \lambda & \lambda & \omega_{3} & \lambda \\ \lambda & \lambda & \lambda & \omega_{4} \end{bmatrix} > 0.}$


15. In a method of control moment gyro (CMG) attitude control using steering logic to develop steering inputs to the array and in which the steering logic is substantially of the form {dot over (x)}=Aτ, where {dot over (x)}is the gimbal rate command, A is the Jacobian of CMG array angular momentum with respect to gimbal angle, τ is the control torque command; the improvement comprising computing {dot over (x)}=A^(#)τ,where A ^(#) =[A ^(T) PA+Q] ⁼¹ A ^(T) P ≡WA ^(T) [AWA ^(T) +V] ⁻¹ where W≡Q⁻¹ and V≡P⁻¹, and W and V are weighting matrices chosen to avoid singularities.
 16. The method of CMG attitude control according to claim 15, wherein V is substantially of the form ${V = {{\lambda \begin{bmatrix} 1 & ɛ_{3} & ɛ_{2} \\ ɛ_{3} & 1 & ɛ_{1} \\ ɛ_{2} & ɛ_{1} & 1 \end{bmatrix}} > 0}},$

wherein λ=λ₀ sin(ωt+φ _(i)), and λ₀, μ, ε₀, ω and φ_(i) are selected constant parameters.
 17. The method of CMG attitude control according to claim 15, wherein V is substantially of the form: $V = {{\lambda \begin{bmatrix} 1 & ɛ_{3} & ɛ_{2} \\ ɛ_{3} & 1 & ɛ_{1} \\ ɛ_{2} & ɛ_{1} & 1 \end{bmatrix}} > 0}$

wherein λ=λ₀ exp(−μdet(AA ^(τ))), and ε_(i)=ε₀ sin(ωt+φ _(i)).
 18. The method of CMG attitude control according to any one of claims 15, 16 and 17, wherein W is substantially of the form: $W = {\begin{bmatrix} \omega_{1} & \lambda & \lambda & \lambda \\ \lambda & \omega_{2} & \lambda & \lambda \\ \lambda & \lambda & \omega_{3} & \lambda \\ \lambda & \lambda & \lambda & \omega_{4} \end{bmatrix} > 0}$

and values of ω and/or nonzero off-diagonal elements are chosen to escape singularities.
 19. The method of CMG attitude control according to claim 15, wherein W≠I, I being an identify matrix.
 20. The method of CMG attitude control according to claim 15, wherein the CMG array comprises two parallel single-gimbal CMGs and wherein substantially: $\begin{matrix} {{{V = {\lambda \begin{bmatrix} 1 & ɛ \\ ɛ & 1 \end{bmatrix}}},{and}}\quad} \\ {{{W = \begin{bmatrix} 1 & \lambda \\ \lambda & 1 \end{bmatrix}},{where}}\quad} \end{matrix}\quad$

ε=0.1 cost, and λ=0.01 exp (−10 det(AA ^(T))).
 21. The method of CMG attitude control according to claim 15, wherein the CMG array comprises three single-gimbal GMBs with parallel axes and W is selected as W₁≠W₂≠W₃.
 22. The method of CMG attitude control according to claim 15, wherein the CMG array comprises four single gimbal CMGs in a pyramid array and: W≠I, an identity matrice.
 23. The method of CMG attitude control according to claim 22, wherein, substantially: W=diag{1,2,3,4}.
 24. The method of CMG attitude control according to claim 22, wherein, substantially: W=diag{1,1,1,1}.
 25. The method of CMG attitude control according to claim 22, wherein, substantially: W=diag{10⁴,1,1,1}.
 26. The method of CMG attitude control according to claim 15, wherein the CMG array comprises four double-gimbal CMGs and wherein substantially: x=(α₁,α₂,α₃,α₄,β₁,β₂,β₃,β₄), τ=(τ_(x),τ_(y),τ_(z)), and substantially W=diag{1,1,2,2,1,1,2,2}.
 27. The method of CMG attitude control according to claim 15, wherein the CMG array comprises four double-gimbal CMGs and wherein substantially: x=(α₁,α₂,α₃, α₄,β₁,β₂,β₃,β₄), τ=(τ_(x),τ_(y),τ_(z)), and substantially W=diag{1,2,3,4,1,2,3,4}.
 28. In a method of attitude control system of the kind that includes providing an array of a plurality of CMGs, means for generating an angular rate signal for each of the CMGs using pseudoinverse control law that uses a torque command signal and a Jacobian value for the angle of each gyro, the improvement comprising: (a) developing singularity escaping and avoiding attitude commands based upon a control logic including; (i) calculating {dot over (x)}=A^(#)τ, where {dot over (x)}=(x₁, . . . x_(n)), the Jacobian A^(#)= [A^(T)PA+Q]⁻¹A^(T)P ≡WA^(T)[AWA^(T)+V]⁻¹ where W≡Q⁻¹ and V≡P⁻¹, ${{P^{- 1} \equiv V} = {{\lambda \begin{bmatrix} 1 & ɛ_{e} & ɛ_{2} \\ ɛ_{3} & 1 & ɛ_{1} \\ ɛ_{2} & ɛ_{1} & 1 \end{bmatrix}} > 0}},$

λ=λ₀ exp(−μdet(AA ^(T))), ε_(i)=ε₀ sin(ωt+φ _(i)), and ${Q^{- 1} \equiv W} = {\begin{bmatrix} \omega_{1} & \lambda & \lambda & \lambda \\ \lambda & \omega_{2} & \lambda & \lambda \\ \lambda & \lambda & \omega_{3} & \lambda \\ \lambda & \lambda & \lambda & \omega_{4} \end{bmatrix} > 0.}$ 